The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Administrators are often responsible for performing various lifecycle operations such as patching, upgrade, and cloning of complex software deployments. Over the course of a lifecycle operation, an administrator may run a set of tasks or commands, one after another, until the operation is complete. In order to avoid mistakes that could negatively impact performance or require significant time to correct, administrators tend to perform one lifecycle operation at a time and to continuously monitor the progress of the operation. Some lifecycle operations take several hours or even days to complete. In some cases, an administrator may spread a lifecycle operation across multiple work shifts until the operation is complete.
Concerns over lifecycle management scalability generally do not arise in on-premise, datacenter environments that have low deployment-to-administrator ratios. As an example, some datacenter environments have a one-to-one deployment-to-administrator ratio, where an administrator handles a single deployment at a time. In such environments, an administrator may manually perform the lifecycle operation and monitor its progress in front of a computer console until the operation is complete without worrying about other deployments. As the number of deployments per administrator increases, however, this approach does not scale well, and lifecycle operations may become backlogged until the administrators have time to work on them.
In cloud deployments, each administrator may be responsible for dozens or hundreds of service deployments. With such a high deployment-to-administrator ratio, it is not scalable for administrators to perform and continuously monitor one lifecycle operation at a time. Therefore, administrators generally perform multiple lifecycle operations in parallel when responsible for managing a large number of deployments. However, switching between multiple lifecycle operations for various deployments may be a tedious and error-prone process. Delays and errors in performing lifecycle operations may negatively impact delivery schedule and increase costs for service deployments.
One approach administrators may use to help manage various deployments is to write each complex lifecycle operation into one large script that sends emails during and after each of the sub-tasks in the lifecycle operation. When these scripts are invoked, emails are sent notifying the administrator of completion of the sub-tasks as well as anomalies that may have been encountered. Administrators may thus scan through the emails on a routine basis to monitor the lifecycle operation's progress. This approach may help keep an administrator apprised of current progress of various lifecycle operations. However, administrators may not be able to handle the volume of emails as dozens or hundreds of service deployments go through lifecycle operations at the same time. As the deployment-to-administrator ratio increases, the number of emails generated by the scripts per hour may be greater than the processing bandwidth of an administrator.
Another approach administrators may use to help monitor the progress of a lifecycle operation is to install custom software. According to this approach, the administrator writes custom software to monitor and report on the progress of a lifecycle operation. This approach may be time-consuming and cumbersome, as it involves the administrator writing new custom code each time a new lifecycle operation is created or a new version of the software is deployed.